home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t8.d64 / mul master.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  2KB  |  97 lines

  1. 5 POKE 53272,PEEK(53272)OR2: PRINT CHR$(5)
  2. 10 PRINT "[147]          [215]ELCOME TO [205]ULMASTER"
  3. 20 PRINT "   [212]HIS PROGRAM WILL TEST YOUR SKILL"
  4. 30 PRINT "IN THE MULTIPLICATION TABLES UP TO"
  5. 40 PRINT "12 [216] 12.  [201]T IS A MULTIPLE CHOICE"
  6. 50 PRINT "QUIZ.  [211]ELECT YOUR CHOICE BY PRESSING"
  7. 60 PRINT "THE APPROPRIATE FUNCTION KEY ON THE "
  8. 70 PRINT "RIGHT SIDE OF THE KEYBOARD."
  9. 80 PRINT
  10. 90 PRINT "     [217]OU WILL HAVE 30 SECONDS TO GET"
  11. 100 PRINT "AS MANY CORRECT ANSWERS AS YOU CAN."
  12. 110 PRINT "[217]OUR SCORE FOR EACH CORRECT ANSWER WILL"
  13. 120 PRINT "DEPEND ON THE DEGREE OF DIFFICULTY. [198]OR"
  14. 130 PRINT "INSTANCE 7[216]9 IS WORTH MORE THAN 1[216]2."
  15. 140 PRINT "[193]S SOON AS YOU PRESS F7[146], YOUR 30 SECONDS"
  16. 142 PRINT "WILL BEGIN."
  17. 144 PRINT SPC(10)"[208][210][197][211][211][160]F7 [212][207][160][194][197][199][201][206]"
  18. 146 GET A$:IF A$=""GOTO 146:IF ASC(A$)<>136 GOTO 146
  19. 190 SS=TI: TC=0
  20. 200 X=RND(0)
  21. 210 NC=0: TS=0
  22. 230 X=INT(RND(1)*12)+1:Y=INT(RND(1)*12)+1
  23. 235 IF Y=0 AND X=0 GOTO 230
  24. 250 X1=X+1: Y1=Y+1: Y2=Y-1
  25. 260 R(1)=X*Y: R(2)=X*Y1: R(3)=X*Y2: R(4)=X1*Y
  26. 262 IF X=0 THEN R(2)=Y+1:R(3)=Y+3
  27. 264 IF Y=0 THEN R(3)=R(2)+1:R(4)=R(3)+1
  28. 270 PN=INT(RND(1)*4)+1: REM POSITION OF CORRECT ANSWER
  29. 280 J=1: FOR K=1 TO 4
  30. 290 IF K=PN THEN PR(K)=R(1):GOTO 310
  31. 300 J=J+1: PR(K)=R(J)
  32. 310 NEXT
  33. 320 PRINT "[147]"
  34. 330 PRINT SPC(10) "F1[146]  ";PR(1):PRINT
  35. 340 PRINT SPC(10) "F3[146]  ";PR(2)
  36. 345 PRINT SPC(17)  ;X;"X";Y
  37. 350 PRINT SPC(10) "F5[146]  ";PR(3):PRINT
  38. 360 PRINT SPC(10) "F7[146]  ";PR(4):PRINT
  39. 370 POKE 198,0
  40. 400 GET A$:IF TI>SS+1800 GOTO 2000
  41. 401 IF A$="" GOTO 400
  42. 402 N=7+2*(ASC(A$)-132):L=N*40+14
  43. 404 POKE 1023+L,122
  44. 406 POKE 55295+L,1
  45. 408 TC=TC+1
  46. 410 IF ASC(A$)-132=PN THEN GOSUB 1000:GOTO 230
  47. 440 PRINT SPC(5);"[215][210][207][206][199]  [212]HE CORRECT ANSWER IS ";R(1)
  48. 450 FOR J=1 TO 10 : FOR K=1 TO 100:NEXT:NEXT
  49. 460 GOTO 230
  50. 1000 NC=NC+1
  51. 1020 IF X>3 GOTO 1050
  52. 1030 IF Y<12 THEN TS=TS+1:RETURN
  53. 1040 TS=TS+2: RETURN
  54. 1050 IF X>6 GOTO 1090
  55. 1060 IF Y>6 AND Y<10 THEN TS=TS+2:RETURN
  56. 1070 IF Y=12 THEN TS=TS+4: RETURN
  57. 1080 TS=TS+1: RETURN
  58. 1090 IF X>9  GOTO 1098
  59. 1091 IF Y>3 AND Y<7  THEN TS=TS+2:RETURN
  60. 1092 IF Y>6 AND Y<10 THEN TS=TS+3
  61. 1094 IF Y=12 THEN TS=TS+5: RETURN
  62. 1096 TS=TS+1: RETURN
  63. 1098 IF X>9 AND X<12 AND Y<>12 THEN TS=TS+1: RETURN
  64. 1099 IF X>9 AND X<12 AND Y=12 THEN TS=TS+5: RETURN
  65. 1100 IF Y>3 AND X<7 THEN TS=TS+4:RETURN
  66. 1110 IF Y<4 THEN TS=TS+2: RETURN
  67. 1120 IF Y=10 THEN TS=TS+1: RETURN
  68. 1130 TS=TS+5: RETURN
  69. 2000 REM
  70. 2040 XX=TS   :LC=10
  71. 2050 FOR K=0 TO 9
  72. 2060 IF HS(K)=0 THEN LC=K: GOTO 2085
  73. 2070 IF HS(K)<XX THEN XX=HS(K):LC=K
  74. 2080 NEXT
  75. 2085 :
  76. 2090 IF LC>9 GOTO 2200
  77. 2100 HS(LC)=TS
  78. 2200 PRINT "[147]  [217]OUR SCORE: ";TS
  79. 2202 IF NC=0 OR TC=0 THEN PT=0: GOTO 2210
  80. 2204 PT=INT(NC/TC*100)
  81. 2210 PRINT "  [208][197][210][195][197][206][212][193][199][197] ";PT;"%";
  82. 2220 PRINT " (";NC;" OUT OF";TC;")"
  83. 2225 PRINT
  84. 2230 PRINT SPC(5);"[212][197][206][160][200][201][199][200][197][211][212][160][211][195][207][210][197][211][160][212][200][201][211][160][211][197][211][211][201][207][206]"
  85. 2235 PRINT
  86. 2240 FOR K=0 TO 9
  87. 2250 IF HS(K)=0 GOTO 2270
  88. 2260 PRINT SPC(15);HS(K)
  89. 2270 NEXT
  90. 2280 PRINT SPC(5) "[212]RY AGAIN?"
  91. 2290 PRINT SPC(15)"F2[146]  [217][197][211]"
  92. 2300 PRINT SPC(15)"F8[146]  [206][207] "
  93. 2310 GET A$: IF A$="" GOTO 2310
  94. 2320 IF ASC(A$)=137 GOTO 190
  95. 2330 IF ASC(A$)=140 THEN END
  96. 2340 GOTO 2310
  97.